/*
 *
编写一个指针函数，实现字符串的连接
Howareyou
areyou
you

 */
#include<stdio.h>
#include<assert.h>

char * str_concat(char *dest,const char *src);
char * str_concat2(char *dest,const char *src);

int main(){
	char s1[100] = "How";
	char s2[100] = "are";
	char *s3 = "you";
	//如下两种方案都可达到相同的效果
	//str_concat(s1,str_concat(s2,s3));
	str_concat(s1,str_concat(s2,s3));
	puts(s1);
	puts(s2);
	puts(s3);

}
char * str_concat(char *dest, const char *src){
	char *s = dest;
	while(*dest != '\0'){
		dest++;
	}
	//执行字符串的拷贝，同先前的方案
	while(*dest++ = *src++);
	return s;
}
char * str_concat2(char *dest,const char *src){
	assert(dest && src);	
	char *s = dest;
	while(*dest++);
	dest--;
	//执行字符串的拷贝，同先前的方案
	while(*dest++ = *src++);
	return s;
}
